package se.lnu.axez;


/**
 * Interface for visalizable scene component. Renders a 3D object in the scene.
 * @author stan
 *
 */
public interface IVisual {
	/**
	 * Initializes visual within OpenGl context. Implementations of this method
	 * must create shaders and triangle meshes.
	 * 
	 */
	void init(AxezContext context);

	/**
	 * Draws the visual within OpenGl context.
	 * 
	 * @param context
	 *            - contains contextual objects to be used during drawing.
	 */
	void draw(AxezContext context);
}
